1. Field of the Invention
The present invention relates to a digital image output apparatus, a digital image decoding device, and a digital image encoding device.
2. Description of the Background Art
FIG. 11 is a block diagram illustrating a configuration of a conventional digital image output apparatus using an LCD (liquid crystal display) as an image display panel. In FIG. 11, reference numeral 1 designates a digital image decoder that receives and decodes a bitstream which is a digital image signal obtained by compression coding of moving image data, and outputs decoded digital image data. Reference numeral 2 designates an image data transfer unit that receives the output digital image data from the digital image decoder 1 and transfers it to an LCD unit 3. The LCD unit 3 displays the digital image data transferred from the image data transfer unit 2.
The LCD unit 3 comprises an LCD memory 4 for storing the received digital image data from the image data transfer unit 2; an LCD driving circuit 5 for retrieving data from the LCD memory 4 and driving an LCD 6; and the LCD 6 for actually displaying the digital image data, all of which are integrally formed.
Next, the operation of the apparatus in FIG. 11 will be set forth. A compressed and encoded bitstream is decoded by the digital image decoder into digital image data. When a bitstream is decoded which has been obtained by encoding of moving image data using an image coding system to split data into macroblocks, which is represented for example by MPEG-2 or MPEG-4, or using an image coding system to perform encoding on a further subdivided block by block basis, the digital image decoder 1 outputs digital image data in blocks. It thus becomes necessary to reconstruct such blocks of digital image data into a single frame of digital image data within the LCD memory 4. FIG. 12 illustrates how such a block-by-block image output is reconstructed into a single frame of digital image data.
Referring to FIG. 12, the digital image decoder 1 outputs blocks of data and the LCD memory or image reconstruction memory 4 starts writing of data from the upper left corner, the writing advancing from left to right and top to bottom, thereby to reconstruct a single frame. For example when the digital image decoder 1 outputs digital image data at 15 frames or images per second (fps), the image reconstruction memory 4 reconstructs 15 images per second.
The image data transfer unit 2 in FIG. 11, when the digital image data is received from the digital image decoder 1, transfers the data to the LCD memory 4 in the LCD unit 3. At this time, when the digital image decoder 1 outputs digital image data at 15 fps, the image data transfer unit 2 transfers digital image data from the digital image decoder 1 to the LCD memory 4 at a rate of 15 times per second.
The LCD memory 4 accumulates digital image data to be output to the LCD 6. The LCD driving circuit 5, in order to drive the LCD 6 for display of an image, retrieves digital image data from the LCD memory 4 for example at a rate of 60 times per second and sends the retrieved data to the LCD 6. The LCD 6 is driven by the LCD driving circuit 5 to display an image.
Next, the digital image coding system represented by MPEG-2 or MPEG-4 will be set forth. It is, however, to be understood that the digital image coding system is not limited to the MPEG-2 and MPEG-4 specifications in accordance with the present invention described later.
FIG. 13 is an explanatory diagram for general predictive coding used in MPEG-2 and MPEG-4, for example. In FIG. 13, the reference numeral 24 designates the current frame now being encoded, which is split into blocks for encoding. The reference numeral 25 designates the current block now being encoded, which is hereinafter referred to as a “block-to-be-encoded”. In a predictive coding of the block-to-be-encoded 25, a previous frame 26 is first referred to. More specifically, a block that has a value similar to the block-to-be-encoded 25 is retrieved from surrounding blocks of a corresponding block 27 of the previous frame 26 which is at a position corresponding to the position of the block-to-be-encoded 25. The retrieved block is defined as a reference block 28 and a vector that indicates the relative positions of the reference block 28 and the corresponding block 27 is defined as a motion vector 29. The value of the motion vector 29 and a differential of data between the block-to-be-encoded 25 and the reference block 28 are encoded and transmitted. This method is called predictive coding, which dramatically reduces the amount of encoding as compared to other methods in which predictive coding is not performed.
When the motion vector 29 is 0 and the differential of data between the block-to-be-encoded 25 and the reference block 28 (in this case, the corresponding block 27) is 0, i.e., when the block-to-be-encoded 25 has exactly the same value as the corresponding block 27, a digital image encoding device (encoder) transmits neither the value of the motion vector 29 nor the differential of data to the digital image decoder side. This allows a considerable reduction in the amount of encoding for motionless images.
Looking at such a phenomenon in connection with the digital image decoder 1 in FIG. 11, when neither the motion vector nor the differential of data has been transmitted as a result of decoding of a transmitted code, the digital image decoder 1 regards a block-to-be encoded as having exactly the same value as the corresponding block of the previous frame and thus uses the value of the corresponding block as-is.
When the current frame 24 is exactly the same as the previous frame 26 or when the amount of encoding controlled by the encoder does not permit code transmission, transmission of a single frame of image data may be skipped. This is illustrated in FIG. 14.
FIG. 14 illustrates a frame being skipped. In an ordinary encoding, image data is processed from one frame to another at predetermined time intervals. However, for example when the amount of encoding controlled by the encoder does not permit code transmission, a frame may be skipped. FIG. 14 shows an example of such a frame 30 being skipped without encoding. When a single frame is skipped during transmission of images (frames) at a frame rate of 15 fps, image data for 14 frames will be transmitted in a one second period. In this case, the decoder side regards the skipped frame as being the same as the immediately preceding frame; therefore, the digital image decoder 1 in FIG. 11 outputs the same image data as the immediately preceding frame once again.
Next, assuming that the conventional digital image output apparatus is used in video telephones implemented in cellular phones, the relationship between image decoding and the digital image output apparatus will be set forth.
Images transmitted by video telephones are mainly face images. FIG. 15 is an explanatory diagram for a typical face image transmitted by a video telephone. In FIG. 15, the reference numeral 31 designates a whole face image. The face image 31 consists of a diagonally-shaded figure part 32 and the other background part 33.
In the face image 31, the figure part 32 relatively changes but the background part 33 often remains unchanged. That is, for the background part 33, as has been previously described in connection with predictive coding, neither the motion vector nor the differential of data is transmitted from the encoder side to the decoder side and consequently, the decoder side often uses the value of a previous corresponding block as-is.
When there is no change in the figure part 32, the whole face image 31 may not be changed at all. In this case, a whole frame may be skipped as has been previously described in connection with predictive coding.
Looking at such phenomena in connection with the conventional digital image output apparatus in FIG. 11, the digital image decoder 1 outputs image data at predetermined intervals, e.g., at 15 fps, regardless of whether the block has been updated or the frame has been skipped. Thus, for example when one frame is skipped, the digital image decoder 1 outputs the same frame of image data twice.
When a certain block in a certain frame has not been updated, a block of image data in the LCD memory 4 which is at a position corresponding to the position of the certain block is overwritten with a block of image data that has exactly the same value as the image data for a corresponding block of the immediately preceding frame in the LCD memory 4. When a whole frame has not been updated, the whole image data in the LCD memory 4 is overwritten with a frame of image data that has exactly the same value as the image data for the immediately preceding frame in the LCD memory 4.